package com.ruoyi.applet.service;

import com.ruoyi.applet.domain.AppletUserStep;
import com.ruoyi.applet.domain.AppletWalkRow;
import com.ruoyi.applet.domain.WechatUser;
import com.brisk.common.core.domain.AjaxResult;

import java.util.List;
import java.util.Map;

/**
 * appletWalkRowService接口
 *
 * @author PENGFEIDENG
 * @date 2022-06-01
 */
public interface IAppletWalkRowService {
    /**
     * 查询appletWalkRow
     *
     * @param rowId appletWalkRow主键
     * @return appletWalkRow
     */
    AppletWalkRow selectAppletWalkRowByRowId(Long rowId);

    AppletWalkRow selectTodayAppletWalkRowByUserId(Long userId);

    /**
     * 查询appletWalkRow列表
     *
     * @param appletWalkRow appletWalkRow
     * @return appletWalkRow集合
     */
    List<AppletWalkRow> selectAppletWalkRowList(AppletWalkRow appletWalkRow);

    List<AppletWalkRow> selectTodayAppletWalkRowList(AppletWalkRow appletWalkRow);

    Map<String, Object> getWalkRowChar();

    /**
     * 新增appletWalkRow
     *
     * @param appletWalkRow appletWalkRow
     * @return 结果
     */
    int insertAppletWalkRow(AppletWalkRow appletWalkRow);

    /**
     * 修改appletWalkRow
     *
     * @param appletWalkRow appletWalkRow
     * @return 结果
     */
    int updateAppletWalkRow(AppletWalkRow appletWalkRow);

    /**
     * 批量删除appletWalkRow
     *
     * @param rowIds 需要删除的appletWalkRow主键集合
     * @return 结果
     */
    int deleteAppletWalkRowByRowIds(Long[] rowIds);

    /**
     * 删除appletWalkRow信息
     *
     * @param rowId appletWalkRow主键
     * @return 结果
     */
    int deleteAppletWalkRowByRowId(Long rowId);


    AjaxResult addUserConvert(Long userId);


    /**
     * 更新用户今日的数据
     *
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @author PengFei Deng
     * @date 2022/6/8 18:35
     */
    AjaxResult updateUserStep(List<AppletUserStep> userStepList, WechatUser wechatUser);


    AjaxResult getUserECharsData();


    int getUserRankInList(Long userId);
}
